Electronic forms are commonly used to collect information. One way in which to enable use of electronic forms is over a network, such as a local intranet or the Internet. A user may use an electronic form, for instance, through his or her network browser. The user's network browser may contact over a network a network computer that is capable of enabling the browser to display and enable editing of the electronic form.
The user's browser may present a view of the network-enabled electronic form and enable the user to edit the form through that view. Thus, a user may view data-entry fields in the network form and enter information into those fields. Suppose, for example, that the user wishes to shop online. The user may contact a merchant's website and select to purchase a product. Following receipt of the user's selection to purchase, a merchant may want to collect information about the user, such as the user's name, credit card billing address, shipping address, gift shipping address, and credit card number, for instance.
To collect this information, the merchant (through the merchant's network computer) may enable the user's browser to display and enable editing of a form for entry of this information. In this case, the network-enabled electronic form may show data-entry fields and controls for entry of the user's name, credit card billing address, shipping address, gift shipping address, and credit card number. Having the browser display all of these data-entry fields in the network form, however, may clutter the network form and make entry of the information difficult or confusing for the user. If the user is buying the product for himself and wants it shipped to the same address as his billing address, he may not need or want to view data-entry fields for a shipping address and a gift shipping address. In this case, the shipping-address data-entry fields and the gift shipping-address data-entry fields clutter up the form.
The merchant may, on the other hand, enable the user's browser to display the billing address and two buttons—one for selecting to view and edit shipping-address data-entry fields and another for gift shipping-address data-entry fields. This reduces the clutter caused by showing unwanted data-entry fields in the network form.
But the user may want to ship the product to a friend as a gift. To do so, the user may select the button to view and edit the gift shipping-address fields. To enable the browser to display and enable editing of these fields the network computer may need to alter the structure of the network form's data instance. Thus, the network computer may need to add data nodes for these gift shipping-address fields to its data instance, and, based on these added nodes, determine information with which the browser may enable a user to view and edit the gift shipping-address fields.
Determining this information on the network computer, altering the form's data instance, and re-computing the view, however, expends some of the network computer's resources. Expending these resources may slow or inhibit the network computer's ability to enable the merchant's customers to view and edit electronic forms.
Also, communicating with the network computer may slow the browser enough to negatively affect the user's editing experience. In some cases, the network computer may take an appreciable amount of time to receive the request from the browser, determine the information usable by the browser, and send that information to the browser. Also, communicating with the network computer may be slow because of the network or how the browser communicates with it (e.g., with a dial-up modem), also potentially affecting a user's editing experience.
Accordingly, this invention arose out of concerns associated with performing structural editing operations for network forms.